import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ButtonExample {
    // 状态标识符
    private static String currentState = "DEFAULT"; // 默认状态

    public static void main(String[] args) {
        // 创建主窗口
        JFrame frame = new JFrame("控制器设计原则示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setLayout(new FlowLayout());

        // 创建按钮
        JButton buttonA = new JButton("A");
        JButton buttonB = new JButton("B");
        JButton buttonC = new JButton("C");

        // 添加按钮的事件监听器
        buttonA.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (currentState.equals("DEFAULT")) {
                    System.out.println("Hello World!"); // 默认输出
                } else if (currentState.equals("B_ACTIVE")) {
                    System.out.println("执行B功能！"); // 如果B被激活
                } else if (currentState.equals("C_ACTIVE")) {
                    System.out.println("执行C功能！"); // 如果C被激活
                }
            }
        });

        buttonB.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                currentState = "B_ACTIVE"; // 切换状态到B
                System.out.println("已激活B功能"); // 可选提示
            }
        });

        buttonC.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                currentState = "C_ACTIVE"; // 切换状态到C
                System.out.println("已激活C功能"); // 可选提示
            }
        });

        // 将按钮添加到窗口
        frame.add(buttonA);
        frame.add(buttonB);
        frame.add(buttonC);

        // 显示窗口
        frame.setVisible(true);
    }
}
